package com.example.mallproduct.fallback;

import com.example.mallcommon.RestResult;
import com.example.mallproduct.api.domain.Product;
import com.example.mallproduct.feign.ProductFeign;
import org.springframework.stereotype.Component;


/**
 * @author yangtao 下单接口做容错降级，保证订单服务高可用，下单接口会涉及到商品服务，所以需要对查询商品信息的远程接口做容错，
 *     先创建一个容错降级类ProductServiceFallback，它需要实现ProductService类，并重写方法，
 *     重写的方法可以理解成是原方法对应的降级方法，一旦下游服务出现问题，这些方法就是兜底方法
 */
@Component
public class ProductFeignFallback implements ProductFeign {
  @Override
  public RestResult<Product> findByPid(Integer pid) {
    Product product = new Product();
    product.setPid(-1);
    return RestResult.success(product);
  }

  @Override
  public void reduceInventory(Integer pid, int num) {

  }
}
